Modem with hold and quick connect functionality

ABSTRACT

A modem to modem communication system supports call waiting services by exchanging hold request and acknowledge signals before relinquishing the line servicing incoming calls. Thereafter, the modem to modem session is reestablished without having to redial. The hold request may be denied or accepted, and may define the duration a modem will hold before hanging up. The holding modem maintains the session by fooling the higher protocol layers, making them believe that the modem is not on hold. Three-way calling services are also used to free up the shared line for outgoing calls while maintaining the session with holding modems. A table may be employed to screen incoming calls through a comparison of the caller ID information with that in the table. The table may be within the modem or the host computer. A quick startup procedure for a modem system utilizes known characteristics of a previously established communication channel to reduce the initialization period associated with subsequent connections over the same channel.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/072,776 filed Mar. 3, 2005 now U.S. Pat. No. 7,587,034 which is acontinuation of U.S. application Ser. No. 09/393,616, filed Sep. 10,1999, now U.S. Pat. No. 6,912,276, which is a continuation-in-part ofU.S. application Ser. No. 09/394,018, filed Sep. 10, 1999, now U.S. Pat.No. 6,768,791, which is a continuation-in-part of U.S. patentapplication Ser. No. 09/361,842, filed Jul. 27, 1999, now U.S. Pat. No.6,819,749, which claims the benefit of U.S. Provisional PatentApplication Ser. No. 60/128,874, filed Apr. 12, 1999, all of which arehereby incorporated herein by reference in their entirety.

BACKGROUND

1. Technical Field

The present invention relates to the field of modem to modem datacommunication; and, more specifically, it relates to a modem to modemcommunication and three-way calling and call waiting telephony services.The present invention also relates to the initialization andreconnection of a V.90 modem system.

2. Description of Related Art

A conventional communication system typically establishes an Internetdata session through a local and a remote ISP (Internet ServiceProvider) modem via a telephone switching network. Similarly, othermodem to modem communication uses the telephone switching network as thecommunication link. Such modems often share a single telephone line withother local telephony devices, e.g., telephones, facsimile machines,answering machines, etc.

To handle multiple incoming calls, telephone switching networks offerthree-way calling and call waiting services. Such services can beaccessed through manual interaction of a person using a telephone.Telephone switching networks have also added caller identification(caller ID) services to support call waiting. Thus, the person using thetelephone may view the caller ID before deciding to accept an incomingcall during a ongoing telephone conversation.

To maintain a data session between modems, continuous modem connectionmust be maintained during the data session. If after a period of timethe modem signaling is lost, modems will conclude that the data sessionhas been terminated and will disconnect.

When a telephone call waiting tone (indicating the presence of callerID) is detected during a local modem to remote modem data session, adecoding process involving both the local modem and a telephoneswitching network CO (Central Office) may be undertaken to retrieve thecaller ID. During the caller ID decoding process, however, the remotemodem usually disconnects. Thus, the remote modem must be redialed toreestablish and continue the data session.

If the local modem does not attempt to decode the caller ID, the callwaiting signaling will, at a minimum, interfere with ongoingcommunication and may cause the modems to hang up or retrain. Thus, thetelephone switching network provides a mechanism for turning on and offthe call waiting service. Before beginning the modem to modem datasession, the call waiting service is turned off for the duration of thesession. However, doing so prevents a user from receiving any otherincoming calls on a shared telephone line. As a result, users are forcedto add dedicated telephone lines for each type of telephony device intheir premises.

56 kbps modems are now standardized in accordance with the ITU V.90Recommendation. However, many 56 kbps modems, particularly end usermodems, may only be compatible with legacy modes such as K56flex, V.34,V.FC, and V.32. Such legacy modems, and downwardly compatible V.90modems, may have an undesirably long connect or initialization timebetween dial-up and full rate data mode. The startup time can be up to30 seconds, which can be rather annoying and unattractive from theperspective of the end user, especially in light of other datacommunication protocols that appear to operate in an “always connected”manner.

V.90 modems that support legacy modem protocols typically perform thefunctions shown in Table 1 during initialization. The time periodsassociated with the operations set forth in Table 1 may vary fromconnection to connection depending upon various factors such as theserver speed and channel conditions.

TABLE 1 Conventional V.90 Modem Startup PROTOCOL OPERATION TIME(seconds) — Dialing 1   — Call Establishment 1   V.8bis CapabilitiesExchange 3.5 V.8 Capabilities Exchange 3.5 V.90 Phase 2 Probing &Ranging 1.5 V.90 Phase 3 Digital Impairment Learning; 8.5 Initial APCMTraining V.90 Phase 4 Final APCM Training; 2.5 Set Power Levels;Constellation Transmission V.42/V.42bis Error Correction; 0.5 DataCompression — Login 0.5-5   TOTAL = 22.5-27.0

The V.8bis operation includes a relatively long timeout period thatencompasses much of the time period associated with the operation. Thisoperation is described in detail in ITU-T Recommendation V.8bis(International Telecommunication Union, August 1996), the content ofwhich is incorporated by reference herein. The V.8bis protocol is anextension of the V.8 protocol, as described in ITU-T Recommendation V.8(International Telecommunication Union, February 1998), the content ofwhich is incorporated by reference herein. In accordance with V.8bisand/or V.8, the two modem devices exchange their individual capabilitiessuch that compatible protocols may be utilized during subsequentinitialization and data communication procedures.

The various V.90 startup phases are utilized to determine the analog anddigital channel characteristics, to train the modem equalizers, and tootherwise attempt to optimize the current communication session. Thedetails of the V.90 startup phases and other aspects of a V.90 modemsystem may be found in ITU-T Recommendation V.90 (InternationalTelecommunication Union, September 1998), the content of which isincorporated by reference herein. Although a portion of the V.90 startupsegments shown in Table 1 are required without regard to the location orstatus of the client modem, many of the operations could be eliminatedor shortened upon repeated connections associated with the same (ornearly identical) channel characteristics.

In a conventional V.90 modem system, error correction and datacompression techniques are performed during the V.42/V.42bis stage. Thespecifics of V.42 are contained in ITU-T Recommendation V.42(International Telecommunication Union, October 1996), the content ofwhich is incorporated by reference herein. The specifics of V.42bis arecontained in ITU-T Recommendation V.42bis (InternationalTelecommunication Union, January 1990), the content of which isincorporated by reference herein. The V.42 operation is desirable suchthat the modem system can perform the login procedure in a substantially“error free” mode. The login procedure may be conducted with CHAP andPAP protocols; both are utilized for security purposes in the context ofpoint-to-point protocol (“PPP”) connections, e.g., a connection betweena client computer and an internet service provider server. From theperspective of the V.90 modem devices, the login information istransmitted as data. Once the login procedure is performed, the dial-upconnection is complete and data may be transmitted between the serverand the host software associated with the client.

The widespread use of the internet as a daily research, entertainment,and communication tool has increased the deployment of 56 kbps modems.However, many channels can only support legacy modes such as V.34. Thus,although most newer modems (particularly those sold with new personalcomputers) are compatible with the V.90 Recommendation, many legacymodes are still in use. The long initialization period associated withV.90 modems that fall back into legacy modes may be annoying andundesirable in many applications and can be a serious hindrance where auser would like to establish an immediate connection after anunanticipated disconnect. In addition, even in the context of aconnection between two V.90 modem devices, the long V.90 startup phasesmay test the mettle of an impatient end user. Accordingly, it would behighly desirable to reduce the initialization time normally associatedwith a conventional V.90 modem system.

A given modem communication session may be interrupted or disconnectedfor any number of reasons. For example, a call waiting signal maydisrupt a modem connection to the extent that the modem call must eitherbe reconnected or reinitialized. As another example, it may be possibleto place a current modem connection on hold to enable the user to answeran incoming call in response to a call waiting signal or to enable theuser to place an outgoing call without disconnecting the modemconnection. Ideally, the modem connection could be re-established in aninstantaneous manner. However, in a practical system, a retraining orreinitialization procedure must be carried out to ensure that the twoend devices are properly synchronized and to ensure that the channel isadequately equalized. As discussed above, conventional V.90 modemsystems may spend more than 20 seconds during such retraining andreinitialization. Accordingly, it would also be desirable to reduce thereconnection time between the same modem devices in response to atemporary disconnect or a temporary pause in the data communication.

Further disadvantages of the related art will become apparent to oneskilled in the art through comparison of the related art with thedrawings and the remainder of the specification.

SUMMARY OF THE INVENTION

Various aspects of the present invention can be found in a communicationsystem having a telephone network that delivers call waiting signalingupon detecting an incoming call. The communication system comprising aremote modem and a local modem communicatively coupled thereto. Thelocal modem, which shares access to the telephone network, detects callwaiting signaling and directs the remote modem to enter a hold mode thentemporarily relinquishes access to the telephone network.

The local modem may also perform caller identification processing duringthis process. If so, the caller identification information may be usedto determine whether to service incoming calls. Making suchdetermination may involve providing a user interface, or may beperformed automatically by a computer coupled to the local modem.

Although unnecessary, the remote modem may remain in the hold mode forno longer than a predetermined interval. Other variations are alsopossible. For example, the local modem may use a v.42 protocol to set upa secondary channel for signaling the remote modem regarding the holdmode. A table might be used that stores pre-selected calleridentification information for comparison with caller identificationinformation associated with incoming calls. Such comparison may be usedto determine whether to service incoming calls.

The remote and local modems attempt to maintain the communicationsession set up between the device housing the remote modem and thedevice housing the local modem. The remote modem must maintain theappearance of a connection to the upper layer protocols even though theconnection to the local modem has been temporarily removed. Similarly,the local modem must maintain the appearance of the connection to thenetworking protocols using the communication capabilities of the localmodem. To carry this out, the remote modem may communicate with upperprotocol layers of the network connection with manufactured data whilein the hold mode. The local modem similarly maintains the appearance ofa network connection with the application requiring the data bymanufacturing data and presenting it to the network stack while the twomodems are on hold.

These and other aspects of the present invention may also be found in acommunication system comprising a local link, a telephony device, aremote and a local modem. Therein, the telephony device is coupled tothe local link and may access the link when it is relinquished by thelocal modem. Specifically, the local modem establishes -a data sessionwith the remote modem by dialing a telephone number associated with theremote modem. After detecting a need to relinquish the local link to thetelephony device, the local modem directs the remote modern to maintainthe data session and temporarily relinquishes the local link to thetelephony device.

The local modem may reestablish the data session without redialing theassociated telephone number. Further variations are also possible. Forexample, the local modem may identify the need to relinquish the locallink to the telephony device by detecting: a) call waiting signaling, b)a user initiated request, or c) a request that is automaticallygenerated by a computer coupled to the local modem. Three-way callingand call waiting services are used to support the telephony device.

Yet other aspects of the present invention will become apparent throughreference to the remainder of the specification including the claims setforth herein.

The present invention provides techniques to shorten the startup andreconnection times associated with a data communication system thatemploys a modem. The quick reconnect technique leverages the knownchannel characteristics of a previous connection to reduce thereinitialization period associated with subsequent attempts to reconnectthe same two modem devices. In accordance with one illustrativeembodiment, the techniques of the present invention are utilized toreduce the reconnection time for a communication session that follows anupper layer protocol, e.g., PPP. Although not limited to any specificmodem application, the quick startup and reconnect procedures may beused to eliminate portions of the initialization protocols or processesnormally employed by a V.90 modem, e.g., V.8bis, V.8, digital impairmentlearning, initial training, probing and ranging, or the like. Inaddition, the quick startup and reconnect techniques may perform certainoperations at a different time or in a different order in comparison toa conventional modem startup technique.

The above and other aspects of the present invention may be carried outin one form by a method for reducing the reconnection time associatedwith a data transmission system having a first device configured tocommunicate with a second device over a communication channel. Theillustrative method involves establishing a communication sessionbetween the first device and the second device over the communicationchannel, obtaining a number of operating parameters for the datatransmission system, where the operating parameters are associated withthe communication channel, and storing at least one of the operatingparameters at the second device. After a temporary pause in thecommunication session, the operating parameters are recalled at thesecond device.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an exemplary modem to modemcommunication network supporting three-way calling, call waiting andcaller ID in accordance with various aspects of the present invention.

FIG. 2 is an exemplary schematic diagram of an Internet basedcommunication system build in accordance with the present inventionutilizing the functionality described in FIG. 1.

FIG. 3 is an exemplary embodiment of the communication system of FIG. 2,illustrating DCE signaling of an ISP to make the ISP caller ID aware.

FIG. 4 is an alternate exemplary embodiment of the communication systemof FIG. 3 that employs keep alive functionality to maintain continuousdata session.

FIG. 5 is a schematic diagram of a computing device 411 coupled to amodem 421 having a memory look up table, according to the presentinvention, and permitting call classification and functional assignmentprior to forwarding caller ID information to the computing device 411.

FIG. 6 is a block diagram depicting a general modem system environmentcapable of supporting point-to-point protocol (“PPP”) connections;

FIG. 7 is a flow diagram of a general quick startup process according tothe present invention;

FIG. 8 is a block diagram depicting an illustrative modem systemconfigured in accordance with the present invention;

FIG. 9 is a flow diagram illustrating portions of a quick startupprocess performed by two modem devices;

FIG. 10 is a timing diagram corresponding to a quick startup processperformed by two modem devices;

FIG. 11 is a timing diagram corresponding to a quick reconnect processperformed by two modem devices; and

FIG. 12 is a flow diagram illustrating a quick reconnect processperformed by two modem devices.

DETAILED DESCRIPTION OF DRAWINGS

The present invention may be described herein in terms of functionalblock components and various processing steps. It should be appreciatedthat such functional blocks may be realized by any number of hardwarecomponents configured to perform the specified functions. For example,the present invention may employ various integrated circuit components,e.g., memory elements, digital signal processing elements, logicelements, look-up tables, and the like, which may carry out a variety offunctions under the control of one or more microprocessors or othercontrol devices. In addition, those skilled in the art will appreciatethat the present invention may be practiced in any number of datacommunication contexts and that the modem system described herein ismerely one illustrative application for the invention. Further, itshould be noted that the present invention may employ any number ofconventional techniques for data transmission, signaling, signalprocessing and conditioning, and the like. Such general techniques thatmay be known to those skilled in the art are not described in detailherein.

It should be appreciated that the particular implementations shown anddescribed herein are merely exemplary and are not intended to limit thescope of the present invention in any way. Indeed, for the sake ofbrevity, conventional encoding and decoding, timing recovery, automaticgain control (“AGC”), synchronization, training, and other functionalaspects of the data communication system (and components of theindividual operating components of the system) may not be described indetail herein. Furthermore, the connecting lines shown in the variousfigures contained herein are intended to represent exemplary functionalrelationships and/or physical couplings between the various elements. Itshould be noted that many alternative or additional functionalrelationships or physical connections may be present in a practicalcommunication system.

FIG. 1 is a block diagram illustrating an exemplary modem to modemcommunication network supporting three-way calling, call waiting andcaller ID in accordance with various aspects of the present invention.In particular, a modem 1 at a premises 3 establishes and maintainsongoing communication with a modem 11 at a premises 13 via a switchingnetwork 21. If either the modem 1 or the modem 11 detect a need totemporarily relinquish a telephone line 10 or a telephone line 17,respectively, such modem (local modem) communicates to the other (remotemodem) a request to hold for a predetermined period of time. Ifaccepted, the remote modem places itself on hold, awaiting either: (a)reestablishment of communication from the local modem, or (b) a time outof the predetermined period of time. After placing the remote modem onhold, the local modem will relinquish or at least offer to relinquishthe telephone line 10 or 17. Thereafter, when the telephone line 10 or17 becomes available, the local modem will automatically reestablishcommunication with the remote modem. If the predetermined period of timehas lapsed, the local modem will automatically call the remote modem.Otherwise, the local modem will reestablish communication by merelyaccessing the remote modem and engaging in a fast training sequencebefore carrying on where the modems 1 and 11 left off.

Either of the modems 1 and 11 can determine the need to relinquish theircorresponding telephone lines 10 and 17 by (a) receiving call waitingsignaling from the switching network 21, (b) detecting a local extensionoff hook, (c) receiving user input via computing devices 5 or 15, and(d) detecting a need from the associated computing device 5 or 15. When,for example, the modem 1 receives call waiting signaling from theswitching network 21 (due to an incoming call from a telephony device 31at a premises 33), the modem 1 communicates a request to hold to themodem 11.

If the modem 11 honors the request, the modem 11 begins waiting forreestablishment of the data session by the modem 1 for a firstpredetermined period (e.g., 30 seconds), and the modem I interacts withthe switching network 21 to retrieve the caller ID information (ifconfigured to do so) and presents an indication of the incoming call,along with caller ID information if employed, via a screen (not shown)on the computing device 5. The computing device 5 may signal a user bysimulating a ring signal and delivering a pop-up window containing thecaller ID information.

If the user fails to accept the incoming call or rejects such call, themodem I will reestablish communication with modem 11 before the firstpredetermined period lapses. If however the user wants to take the call,the user interacts to accept the call via the computing device 5. Themodem 1 responds by communicating a second predetermined hold period(e.g., 30 minutes) to the modem 11 and then “flashes” the telephone line10. The switching network 21 responds by connecting the incoming call tothe telephone line 10. Thereafter, the user is free to use a telephonydevice 7 or 9, e.g., a telephone, facsimile machine, answering machine,etc., to service the incoming call. When the telephony device 7 or 9hangs up, the modem 1 “flashes” the telephone line 10. The switchingnetwork 21 again communicatively couples the telephone lines 10 and 17,and the modem 1 reestablishes communication with the modem 11.Alternatively, if the telephony device 31 disconnects prior to the modem1 “flashing,” the switching network 21 again communicatively couples thetelephone lines 10 and 17, and the modem 1 reestablishes communicationwith the modem 11. Had the first predetermined time period lapsed beforethe second predetermined period was communicated or had the secondpredetermined time period lapsed before the modem 1 reestablishedcommunication, the modem 1 would automatically dial or redial the modem11 to reestablish the link.

Instead of or in addition to signaling a user via the computing device105, the modem 1 may also deliver a ring signal or other such indicationdirectly to the attached telephony device 7 or to the locally connectedtelephone device 9 via the telephone line 10. The modem 11 performssimilar functionality in its interaction with the computing device 15and the telephony device 19 when receiving an incoming call via callwaiting services.

The modem 11 may also detect the need to relinquish the telephone line10 by detecting a local extension off hook event from either thetelephony device 7 or 9. For example, when the telephony device 7happens to comprise a telephone, the modem 1 detects when a user liftsthe receiver of the telephony device 7 and, in response, communicates ahold request to the modem 11 and establishes a three-way call dial tonethrough interaction with the switching network 21. The user may thenestablish an outgoing call. When the telephony device 7 hangs up, themodem 1 using the three-way calling service features reestablishes thelink via the switching network 21 to the modem 11 without having toredial.

A user may also interact via the computing device 5 to request gainingaccess to the telephone line 10. For example, the user may desire tosend a fax from a telephony device 9. The modem 1 responds to such arequest by establishing a hold condition with the modem 11 and usingthree-way calling functionality to gain a dial tone on the telephoneline 10. Thereafter, the modem 1 communicates via the computing deviceto the user that the telephone line 10 is free for use by the telephonydevice 9. When the telephony device 9 disconnects or the remote sidedisconnects, the modem 1 again can reestablish the communication linkwith the modem 11 without having to redial.

Similar functionality also occurs automatically without userinteraction. For example, a computing device 5 may periodically gainaccess to the telephony device 31 to service a communication exchangewith the telephony device 31.

In addition, the modem 1 may place the modem 11 on hold to permit thetelephony device 7 or 9 to communicate with the telephony device 19. Inthis way, the primary communication link between the modems 1 and 11might be used to set up the secondary communication link between thetelephony devices 7 or 9 and 19.

The switching network 21 may comprise one or more central offices (COs)interconnected by a toll network. The telephone lines 10 or 17 maycomprise twisted pair, cable, fiber and/or wireless links, for example.

The modem 1 and the computing device 5 may be separate or integrated.Similarly, the modem 11 may be internal to the computing device 15 orexternal.

FIG. 2 is an exemplary schematic diagram of an Internet basedcommunication system built in accordance with the present inventionutilizing the functionality described in FIG. 1. More specifically, aclient modem 103 that services a client computer 101 establishes andmaintains a data connection with an ISP (Internet Service Provider)modem 125 of an ISP computing system 107.

A user wishing to establish the data session between the client computer101 and the Internet 113, employs client modem 103 that dials through atelephone network 105 to an ISP modem 125. The ISP modem 125 providesaccess to the ISP 107 that participates via a link 127C on the Internet113.

During the existence of the data communication link, the telephonenetwork 105 may receive a telephone call from, for example, a telephone119. In response, the telephone network 105 delivers call waitingsignals to the client modem 103. On detecting a call waiting tone, theclient modem 103 signals the ISP modem 125 regarding the presence ofcaller identification. In one embodiment, the client modem instructs theISP modem 125 to maintain the communication link for a firstpredetermined period of time. In another, the ISP modem 125 either willwait indefinitely or will have a preset predetermined period which neednot be communicated. The client modem 103 next coordinates with thetelephone network 105 to receive and decode the caller identification.The caller identification is forwarded to the user via a display on theclient modem 103 (if external), and/or on the client computer 101. Inturn, based on the caller identification, the user determines whether toterminate the existing data session or ignore the incoming telephonecall and return to the existing data session, all within the firstpredetermined period. If the user fails to act or chooses to reject theincoming call, the client modem 103 will reestablish communication withthe ISP modem 125. If the user chooses to accept the call, and if thefirst predetermined period is not long enough, the client modem 103 willcommunicate a second predetermined period, e.g., 30 minutes, to the ISPmodem 125. Thereafter, the client modem 103 “flashes” the telephonenetwork and signals the user via the client computer 101 as previouslydiscussed and/or, if so configured, via the line 127. The telephonenetwork 105 responds by connecting the incoming call to a line 127. Theuser may then employ a facsimile device 119 or a voice mail or voicestorage system 121, for example, to service the incoming call.

The ISP modem 125 may also be placed on hold by the client computer 101,either through manual user interaction or automatically to meet a needthat arises. For example, a user may desire to use the telephone 149during an ongoing session between the ISP modem 125 and the client modem203. The user interacts via a window on the computing device 101 toplace such request. In response, the computing device 101 directs theclient modem 103 to place the session on hold.

As before, the client modem 103 communicates a hold request to the ISPmodem 125 which may choose to honor the request. If refused, theconnection is terminated. If honored, the ISP modem 125 is placed onhold, and the telephone network 105 is signaled to begin three-waycalling services. The telephone network 105 provides a dial tone and theclient modem 103 directs the computing device 101 to display a readyindication. Thereafter, the user may employ the telephone 149 to placethe call.

All other modes of employing three-way calling and call waiting servicesdescribed in reference to FIG. 1 are also possible. In all cases, theISP modem 125 and the client modem 123 both communicate with upperlayers of the protocol stack to ensure that the session is maintained.Thus, even though the session is actually placed on hold, neither theapplication software nor the higher protocol stack layers need to beaware of such condition, even though they might be modified to do so.

A point to point data session may exist between the client computer 101and a computer 117. The data session is established after a modemhandshake following a dial up routine between the client modem 103 and amodem 123. Caller ID information/call waiting and three-way callingfunctionality are similarly processed as referenced above.

Additional features of the client modem 103 permits the direction ofboth faxes received from a fax modem 121 and voice mail received from avoice storage 119. A client computer 109 is connected to the Internet113 via a cable network 111. A cable modem 130A enables the connectionof the client computer 109 and the Internet 113 connectivity and furtherconstitutes part of a communication network 100.

Communication links 127A and 127B couple the client modems 103 and 123with the telephone network 105. The communication links 127A and 127Bcomprise twisted pair wiring but may also or alternatively comprise aradio communication link, for example, or may be ISDN, ADSL, or DSL, forexample.

Cable modems may be employed which utilize similar functionality.Specifically, a cable modem 130 couples with a computing device 109 viaa network interface card 129. A computing device 101 may directly couplewith the cable modem 130 via the telephone network 105 and the cablenetwork 111. If a need arises to relinquish the line 127B, e.g., anincoming call is detected by the computing device 101. The computingdevice 101 sends a hold request to the cable modem 130 which, in turn,“spots” the upper layers of its protocol stack to act like the sessionis ongoing and begins waiting. As before, the client modem 103relinquishes the link 127B to servicing the need and, when completed,the client modem 103 reestablishes the session with the cable modem 130without having to redial.

In a further embodiment, a CO within the telephone network 105 providesan “attention signal” to both the client modem 103 and the ISP modem 125when, for example, the client modem 103 and the ISP modem 125 areengaged in ongoing communication. The “attention signal” would convey apending request to at least temporarily change the “ownership” of thetelephone line 127B. In such an embodiment, the client modem 103 neednot inform the ISP modem 125 that it is considering relinquishing thetelephone line 127B.

The CO within the telephone network has been modified to deliver a dialtone while not dropping the second line. Thus, when the client modem 103detects an extension-off hook condition, e.g., the telephone 149 ispicked up, the client modem 101 first signals the ISP modem 125 to gointo a hold mode. Next, the client modem 103 requests that the COgenerate a dial tone and relinquishes the line to the telephone 149.

In such embodiments as well as the other described herein, call waitingindications, with or without caller ID services are “attention signals.”Attention signals are those signals that convey to a modem that arequest for another use for a shared telephone line is present. Anotherexample beyond call waiting might be an operator's manual attempts tointerrupt an ongoing session in emergency situations. In mostembodiments, attention signals are delivered only to the modem whoseline is to be shared, yet, as described above, need not be the case.Such attention signals can also be delivered to all parties and modemsor telephony devices participating in an ongoing communication exchange.

Additionally, the ISP modem 125 might send a hold request to the clientmodem 103. While the client modem 103 is on hold, the ISP 107 can changethe routing of the ISP modem 125, substitute another ISP modemautomatically (for example when ISP modem 125 is having problems or isnot optional for the client modem 103), etc. This may all happen withoutever relinquishing any telephone link.

The aforementioned functionality also supports Internet browserinteroperability. For example, when interacting with a browser runningon the computing device 101 to surf the Internet, a user may encounter atelephone number on a web page that they would like to call. Byselecting a “place call” button on the browser, the computing device 101delivers an “attention signal” to the client modem 103 which, in turn,places itself and the ISP modem 125 in a hold mode. Before entering thehold mode, the client modem 103 may also dial the number and if soconfigured and pursuant to meta information provided in the web page,may interact with the answering party or system to assist the user inreaching a desired location within the receiving party's answeringsystem. Whether or not such additional services are provided by theclient modem 103, the computing device 101 then delivers a signal to theuser to pick up the telephone 149.

FIG. 3 is an exemplary embodiment of the communication system of FIG. 2,illustrating DCE signaling of an ISP to make the ISP caller ID aware.More specifically, using a secondary channel 217, a client modem 201signals an ISP modem 221 to make the ISP modem 221 aware when a callwaiting signaling is received.

A user utilizing the client modem 201 engages in a data session on aprimary channel 215 with an ISP modem 221 via a telephone network 219.When a call waiting tone is detected during the data session, callwaiting detect circuitry 207 informs a processing circuitry 203 that anincoming telephone call has been detected. In response, the processingcircuit 203 signals the ISP modem 221 informing of the call waitingevent. The processing circuitry 203 then utilizes a secondary channel217 to signal the ISP modem 221 to refrain from disconnecting while theISP modem 221 decodes the received caller identification information. Inresponse, the ISP modem 221 may choose to accept by transmitting anacknowledgment signal.

After receiving the acknowledgement, the processing circuitry 203performs caller ID processing to retrieve the caller ID information fromthe telephone network 219. Specifically, the processing circuitry 201transmits a DTMF tone to a central office (CO) within the telephonenetwork directing that the caller ID information be forwarded. The COthen transmits a Bell 211 signal having the caller ID information (whilemuting the data session line connected to the ISP modem 221). Theprocessing circuit switches from its current protocol, typically V.90 tothe Bell 212 mode and receives the caller ID information. The caller IDinformation is presented to the user through a LCD display within theclient modem 201 or through a pop-up window generated by the user'ssoftware, for example, and requesting whether the user wishes to acceptor reject the incoming call.

In one embodiment, if the user accepts the incoming call, the ISP modem221 retains the data session connection for a predetermined time whilethe client modem 201 is engaged with the incoming call. On returning,the client modem 201 resynchronization with the ISP modem 221 tocontinue the prior data session, that is, the client modem 201 and theISP modem 221 go through timing synchronization, train echo cancellersand transmit known signal conditions, for example. If after theexpiration of the predetermined interval, the client modem 201 fails toreturn, the data connection is terminated.

In an alternate embodiment, the user may accept the incoming call whilethe ISP modem 221 is instructed to idle. When the client modem 201returns, a fast resynchronization algorithm is used to re-establishcommunication more rapid because prior line conditions are known, andboth modems need not go through full retraining. Further detailregarding “resynchronization” can be found in U.S. patent applicationSer. No. 09/361,842 (filed Jul. 27, 1999) and entitled “Method andApparatus for Fast V90 Modem Startup,” and U.S. application Ser. No.09/394,018 (filed Sep. 10, 1999) and entitled “Method and Apparatus forQuick Modem Reconnect.” These applications are hereby incorporatedherein by reference in their entirety.

Another functionality previously described with reference to FIGS. 1-2also apply for interactions between the client modem 201 and the ISPmodem 221. In addition, the client modem 201 may employ a look up tableas further referenced in FIG. 5 to determine how and whether to servicean incoming call.

The secondary channel 217 is a virtual channel set up using the V.42protocol. This is a proprietary mode in which both the client modem 201and the ISP modem 221 communicate their capabilities and exchangeinformation through the secondary channel 217. The processing circuitry203 employs software, hardware and firmware to direct and synchronizevarious tasks relating to the client modem 201. Although described inreference to ISP communication, such functionality also applies outsideof that context.

FIG. 4 is an alternate exemplary embodiment of the communication systemof FIG. 3 that employs keep alive functionality to maintain continuousdata session. Specifically, the ISP modem 321 employs a keep alivefunction 323 which delivers “keep alive packets” to higher protocolwhether or not the client modem 301 sends a hold request.

Particularly, there are several layers of protocol involved in theconnection between a user's Internet browser, for example and an ISP,and these layers have to be “kept alive” while the client modem 301relinquishes a link 331 for call waiting services or otherwise. During adata session, while the client modem 301 has relinquished the link 331,the higher protocol layer, for example, TCP/IP, may encounter a time outcondition and terminate the data session.

To achieve a continuous data session, when caller ID is received, thebottom two layers namely, the physical and the data link layer,responsible for transmission, framing, and error control of thecommunications link may be modified. In one embodiment, the keep alivefunctionality 323 within the ISP modem 321 transmits “keep alive” packetstreams to the higher TCP/IP protocol layer after the modem signal isinterrupted. This deceives the higher TCP/IP layers and prevents thesession from terminating. The “keep alive” packet stream may be eitherdata bits or control signals or both, and located within the clientmodem 301, the ISP modem 321 or both.

Again, the keep alive stream need not require a hold request to be used.In fact, in one embodiment, the ISP modem uses the keep alive wheneverit is having difficulty reaching the client modem 301 for whateverreason. The stream is used for a predetermined period to allowreestablishment of the link during a period that far needs a traditionalsession termination period.

FIG. 5 is a schematic diagram of a computing device 411 coupled to amodem 421 having a memory look up table, according to the presentinvention, and permitting call classification and functional assignmentprior to forwarding caller ID information to the computing device 411.The computing device 411 comprises a processing circuit 413 and otherconventional circuitry such as an interface circuit 415.

The processing circuit 413 operates pursuant to a plurality ofapplications (e.g., a first and second application 417 and 419) thatindependently service incoming calls via the modem 421. A controlapplication 423 selectively interacts to launch the plurality ofapplications.

The modem 421 comprises a processing circuit 431 and a memory 433, amongother circuitry. The modem 421 determines whether to forward the callerID information to the computing device 411 based on a table 435 withinthe memory 433. The table 435 stores a series of caller ID crossreference entries. Thus, for example, upon detecting an incoming call,the modem 421 notifies an ISP modem (not shown) that it is about tointerrupt the present modem connection to receive caller ID information.When the caller ID information is received, the processing circuit 431stores the caller ID information in a buffer 437 and compares thatinformation with the entries in the table 435.

If a match is found, the processing circuit 431 informs the ISP modemthat delivers the buffered caller ID information to the computing device411 to the control application 423 which, in turn, launches theappropriate application that has been designated to service the receivedcaller ID information. The caller ID information may also be forwardedto such application.

If no match is found, the modem 421 will ignore the incoming call andcontinue the data session with the ISP modem. Thus, the modem 421 neednot involve the computing device 411 or bother the user by forwardingcaller ID information unless it has been assigned to do so via theentries in the table 435. In this embodiment, the:table is used toforward only those incoming calls that have a table entry. However, inalternate embodiments the table may be used to screen out matchingincoming calls.

The user via computing device 411 loads the table 435 with, for example,telephone numbers of incoming calls to be processed by the first andsecond applications 417 and 419. In an exemplary embodiment, the firstapplication 417 comprises facsimile processing software, while thesecond application 419 comprises data processing software. If facsimiletransmissions are only to be received from a single telephone number,that telephone number is loaded into the table 435 of the modem 421,similarly, the telephone numbers from which data transmissions will bereceived are also loaded into the memory 435. When a facsimiletransmission is received from the telephone number stored in the table435, the processing circuitry 431 delivers the caller ID information tothe computing device 411, and immediately switches to the facsimiletransmission without user interference.

Thereafter, the control application 423 directs the first application417 in handling the transmission. When the facsimile transmission iscompleted, the control application 423 cooperates with the modem 421 toreturn the user to the prior data session. When an incoming datatransmission is received from a corresponding telephone number stored inthe table 435, the processing circuit 431 delivers the calleridentification to the computing device 411 for processing by the secondapplication 419, for example. Calls from telephone numbers that are notcontained in the table 435 may be ignored by the modem 421.

Alternatively, or in addition, the table may be loaded with caller IDinformation that identifies telephone numbers to be ignored and notanswered by the DCE/DTE. For example, known voice telephone numbers maybe ignored by the DCE 421 while all other non-tabled numbers would beanswered by the DCE 421.

Thus, by screening and/or the selection of specific calls, the DCE isable to save time expended by the user in determining which telephonecalls to accept. In addition, a single telephone line may be shared by aplurality of communication devices, such as the DCE 421 and other DCEsor telephones. Further, such screening and/or filtering may also beemployed to remove unnecessary call processing burdens from an activeDTE which may be engaged in other tasks. Thus, for example, thecomputing device 411 during a data session need not have to shareprocessing resources to service calls not intended for the computingdevice 411.

Although the table 435 is shown to be stored within the modem 421, itmight be alternatively be stored within the computing device 411. Insuch embodiments (not shown), the computing device 411 stillautomatically filters unwanted incoming calls.

FIG. 6 is a block diagram depicting a general modem system 6100 in whichthe techniques of the present invention may be practiced. For purposesof this description, modem system 6100 is assumed to be capable ofsupporting connections associated with an upper layer protocol, e.g.,point-to-point protocol (“PPP”) connections. PPP connections aretypically associated with internet communications between, e.g., anindividual end user and an internet service provider. In this respect,modem system 6100 includes a plurality of server modems (identified byreference numbers 6102 a, 6102 b, and 6102 n) and a client modem 6104.Server modems 6102 may each be associated with an internet serviceprovider or any suitable data source. Client modem 6104 may beassociated with a suitable data source, e.g., a personal computercapable of running host software 6105. For purposes of this description,host software 6105 may be an operating system such as MICROSOFT WINDOWS,or any application program capable of functioning in conjunction withmodem system 6100. Although not shown in FIG. 6, client modem 6104 maybe integrated with the personal computer.

In the context of this description, modem system 6100 may employ 56 kbpsmodems that are compatible with the V.90 Recommendation, legacy 56 kbpsprotocols, the V.34 Recommendation, or the like. Although the presentinvention is described herein in the context of a V.90 modem system, thetechniques can be equivalently applied in a V.34 modem system or in anynumber of legacy modem systems. V.90 or 56 kbps modem devices aresuitable for use in modem system 6100 where a given server modem 102utilizes a digital connection 6106 to the digital telephone network6108. The client modem 6104 is connected to a local central office 6110via an analog local loop 6112. Thus, the communication channelestablished between client modem 6104 and any server modem 6102 isdigital up to the central office 6110. Thereafter, the digital signalsare converted to an analog signal for transmission over the local loop6112.

If an end user desires to establish an internet connection, hostsoftware 6105 may perform any number of operations in response to a usercommand. For example, host software 6105 may prompt client modem 6104 todial the telephone number associated with server modem 6102 a (which,for this example, is the server modem associated with the user'sinternet service provider). Server modem 6102 a and client modem 6104perform a handshaking routine that initializes the equalizers, echocancelers, transmit power levels, data rate, and possibly otheroperational parameters associated with the current communicationchannel. In addition, host software 6105 may cause client modem 6104 totransmit and receive authentication data that enables the user to logonto the internet via the service provider. As mentioned above, theauthentication data may be exchanged between server modem 6102 a andclient modem 6104 in accordance with the known CHAP or PAP techniques.In an alternate embodiment that employs a non-PPP upper layer protocol,a suitable login procedure may be conducted instead of the CHAP or PAPprocedures.

As discussed previously, the dial-up connection time (and reconnectiontime) associated with conventional modem systems may be undesirablylong. The present invention takes advantage of the repeated use of acommunication channel between modem devices, e.g., the communicationchannel that is established between server modem 6102 a and client modem6104. Assuming that client modem 6104 is associated with a desktoppersonal computer resident at a specific location, the connection to anygiven server modem 6102 will necessarily be established over the sameanalog communication channel. In other words, client modem 6104 willalways establish an analog channel between the user premises and centraloffice 6110. Disregarding slight variations in the analog channel due totemperature and other environmental effects, the initialization ofclient modem 6104 (with respect to the analog channel) will remainsubstantially constant from connection to connection.

FIG. 7 is a flow diagram of a general quick startup process 7200 thatmay be performed by a data communication system such as modem system6100. In a practical system, process 7200 may be cooperatively performedby server modem 6102, client modem 6104, host software 6105, and/or anyfunctional component of modem system 6100. In addition, process 7200 maybe realized in the context of an overall initialization procedure thatfollows any number of conventional modem protocols.

Quick startup process 7200 may begin with a task 7202, which relates tothe establishment of a call between client modem 6104 and a server modem6102. In the context of this example, client modem 6104 is considered tobe the calling device. Accordingly, host software 6105 and/or clientmodem 6104 dials the telephone number associated with, e.g., servermodem 6102 b. Assuming that server modem 6102 b is capable of making anadditional connection, it will go off hook and generate a suitableanswer tone in a conventional manner. When both modem devices are offhook and communicating with each other, a communication channel isestablished via digital connection 6106, telephone network 6108, centraloffice 6110, and analog local loop 6112. The dialing, ringing, andanswering procedures utilized during task 7202 may follow conventionalprotocols.

Following task 7202, a query task 7204 may be performed by modem system6100 to ascertain whether a quick connect protocol is supported. Querytask 7204 may be necessary to enable different server modems anddifferent client modems to be interoperable and compatible. For example,server modem 6102 b may be a V.90 modem device that supports the quickconnect features of the present invention, while client modem 6104 maybe a legacy 56 kbps modem device that does not support the quick connectfeatures. Portions of query task 7204 may be performed by server modem6102 b or client modem 6104. An illustrative technique for performingquery task 7204 is described in detail below. Task 7204 may beequivalently performed when client modem 6104 initiates the call or whenserver modem 6102 initiates the call.

If query task 7204 determines that the quick connect protocol is notsupported by both modem devices, then a task 7206 may follow. Task 7206prompts modem system 6100 to begin a conventional initializationroutine. For example, in the context of a V.34 or V.90 modem system,task 7206 may begin a capabilities exchange protocol such as V.8bis.Alternatively, some modem systems may only implement the V.8capabilities exchange protocol. Older legacy modem systems may skip theV.8 and V.8bis procedures altogether and perform an appropriateinitialization routine according to the legacy mode. Following task7206, modem system 6100 may conduct a known startup procedure inaccordance with an applicable modem specification. For example, if modemsystem 6100 supports V.90, then task 7208 may be associated withconventional V.90 equalizer training, echo canceler training,constellation design, power level verification, and other startupoperations. If tasks 7206 and 7208 are performed, then the startup timeassociated with the communication session is essentially the same as thestartup time for a conventional V.90 connection.

If query task 7204 determines that the quick connect protocol is fullysupported, then a query task 7210 may also be performed. Query task 7210tests whether the characteristics of the established communicationchannel are similar to corresponding characteristics of a previouslyestablished communication channel. Briefly, query task 7210 compares oneor more attributes of a received sequence to stored attributes of apreviously received sequence associated with the previously establishedchannel. The received signal conveys information regarding thecharacteristics of the communication channel. In particular, thereceived signal conveys information relative to analog local loop 6112.

In the illustrative embodiment described herein, where one modem deviceis connected digitally to the digital telephone network 6108, analoglocal loop 6112 affects signals in a substantially consistent mannerfrom connection to connection. Although the analog characteristics willbe similar for repeated connections to the same server modem 6102,slight variations in temperature, humidity, other environmental changes,physical changes in the system hardware, and other operationalparameters contribute to random fluctuations in the current channelcharacteristics used for comparison purposes. Nonetheless, thecomparison procedure performed during query task 7210 is preferablydesigned to accommodate such fluctuations. For purposes of thisdescription, “similar” characteristics means that query task 7210 willassume that the current channel matches a previous channelnotwithstanding normal variations due to the uncontrollable andunpredictable factors mentioned above.

If query task 7210 determines that the parameters of the currentcommunication channel do not match the parameters of a previouscommunication channel, then a task 7212 may be performed. Task 7212,like task 7206, prompts modem system 6100 to begin a conventionalinitialization routine. In a preferred embodiment, if modem system 6100verifies that the quick connect protocol is fully supported (query task7204, then most, if not all, of the V.8bis procedure may be skipped.Accordingly, the V.8 capabilities exchange protocol may be prompted bytask 7212. Thereafter, a task 7214 may be performed to cause modemsystem 6100 to enter the conventional V.90 startup procedure. Task 7214is similar to task 7208 described above. If tasks 7212 and 7214 areperformed, then the startup time associated with the communicationsession may be reduced by approximately three seconds, which is thetypical time period required to conduct the V.8bis procedures.Accordingly, even if query task 7210 determines that the current channelis not similar to a previous channel, quick startup process 7200 reducesthe overall initialization time of modem system 6100.

If query task 7210 finds that the current channel characteristics“match” the stored characteristics of a previously established channel,then a task 7216 may be performed. An abbreviated training procedure isconducted during task 7216. As described in more detail below, modemsystem 6100 leverages the known characteristics of the current channelsuch that the modem devices can be immediately trained. For example,although the specific timing phase of digital impairments (e.g., robbedbit signaling) may be unknown, the types of digital impairments will beconsistent for repeated connections. Thus, in the context of a V.90modem system, the lengthy digital impairment learning procedure need notbe fully implemented. In addition, the initial training of equalizersand echo cancelers, and the initial determination of PCM codec transmitlevels and data rates need not be performed.

A task 7218 may be performed to enable modem system 6100 to operate atan initial data rate. It should be appreciated that portions of thetraining associated with task 7216 may be performed at the initial datarate associated with task 7218. Modem system 6100 is able to quicklyoperate at the initial data rate by recalling the initializationparameters associated with the previously stored channel. During task7218, modem system 6100 may perform final training of the equalizers andecho cancelers, exchange modulation parameters, and exchangeconstellation signal points for use during the full rate data mode. Inaccordance with the present invention, PPP data may be transmittedduring task 7218 in connection with one or more final trainingsequences. For example, the PPP data may be associated with the exchangeof log-in authentication information, e.g., CHAP or PAP information. Inview of the transmission of data during task 7218, this portion of quickstartup process 7200 may be considered to be a first data mode or a dataphase one.

Following task 7218, quick startup process 7200 causes modem system 6100to operate at a final data rate (task 7220). In the context of thisembodiment, this portion of process 7200 may be considered to be asecond data mode or a data phase two. The transition between the initialand final data rates preferably occurs in a seamless manner; modemsystem 6100 employs a suitable signal timing or synchronizationtechnique to enable such a data rate transition. During the full datamode, modem system 6100 utilizes the signal point constellationexchanged during task 7218. Once modem system enters the final datamode, quick startup process 7200 ends.

FIG. 8 is a block diagram depicting an illustrative modem system 8300configured in accordance with the present invention. Modem system 8300is preferably configured to carry out quick startup process 7200 andother processes described herein. By way of example, modem system 8300is described herein in the context of a 56 kbps or V.90 system (or asystem substantially similar to a V.90 system). However, it should beappreciated that the particular implementation shown in FIG. 8 is notintended to limit the scope of the present invention in any way.

Generally, modem system 8300 includes a first modem, e.g., modem 8302,and a second modem, e.g., modem 8304. In the context of thisdescription, modem 8302 is considered to be a server modem and modem8304 is considered to be a client modem (see FIG. 6). It should beappreciated that modems 8302 and 8304 may be similarly configured suchthat both can function in either a transmit or receive mode. Modems 8302and 8304 are generally configured in accordance with known principles tocommunicate over a telecommunication network, such as the publicswitched telephone network (“PSTN”) 8306, via at least one communicationchannel (e.g., channels 8308 and 8310). For purposes of thisdescription, modem 8302 is connected digitally to PSTN 8306 while modem8304 is connected to PSTN via a central office (not shown) and an analoglocal loop, as described above in connection with FIG. 6. For the sakeof clarity, FIG. 8 does not show the various encoder, decoder, and otherfunctional elements that would typically be present in a practical modemsystem.

Modem 8302 may include a processor element 8312, while modem 8304 mayinclude a processor element 8314. In addition to the specific operationsdescribed herein, processors 8312 and 8314 are suitably configured tocarry out various tasks associated with the operation of modem system8300. Indeed, modem system 8300 may incorporate any number ofprocessors, control elements, and memory elements as necessary tosupport its functionality. Such processor, control, and memory elementsmay suitably interact with other functional components of modems 8302and 8304 to thereby access and manipulate data or monitor and regulatethe operation of modem system 8300.

Processor 8312 may be operatively associated with a quick connectconfirmation routine, which is illustrated as a functional block 8322.Quick connect confirmation routine 8322 may be employed during querytask 7204 (see FIG. 7). Processor 8312 is also operatively associatedwith a number of training routines 8324. Training routines 8324 may beutilized for initial and/or final training of modem system 8300.Training routines 8324 may be employed during task 7216, as describedabove. Processor 8312 may also operate in conjunction with a dial-upauthentication scheme 8326, e.g., information exchanging in accordancewith PAP or CHAP. The CHAP/PAP functionality may be alternatively (oradditionally) realized in one or more software applications maintainedby the server corresponding to modem 8302. These illustrative operationsare not intended to limit the applicability of processing element 8312,which is preferably configured to support any number of additionaloperations.

Modem 8302 includes a transmitter 8316, which is configured to transmitencoded symbols in accordance with conventional data transmissiontechniques. Such symbols may represent data, training sequences,synchronization signals, control signals, information exchangesequences, and any suitable communication signal utilized by modemsystem 8300. Modem 8302 also includes a receiver 8318, which may beconfigured in accordance with any number of known modem technologies.Receiver 8318 is configured to receive communication signals from modem8304; such signals may include encoded information bits, controlsignals, information exchange sequences, training sequences, and thelike. Receiver 8318 may include or be functionally associated with anequalizer structure 8317 and an echo canceler structure 8319. Theconfiguration and operation of equalizer structure 8317 and echocanceler structure 8319 may be consistent with any number ofconventional techniques, e.g., adaptive filtering algorithms.

Modem 8302 is preferably configured to generate, process, and transmitdifferent data and signals associated with the operation of modem system8300. Such data, signals, and sequences may be suitably stored,formatted, and produced by any number of microprocessor-controlledcomponents. For illustrative purposes, FIG. 8 depicts a number of blocksrelated to different operational features of modem system 8300; suchoperational features may have specific data sequences, control signals,or the like, associated therewith. Although a practical system mayprocess and transmit any amount of additional or alternative data, theparticular embodiment described herein functions in cooperation with atleast the following types of data: a transition sequence 8328, an answersignal point sequence 8330, authentication information 8332, a quickconnect identifier 8334, training information 8336, and user data 8338.This data, and the handling of the data by modem system 8300, isdescribed in detail below.

Modem 8302 also includes a suitable amount of memory 8320 necessary tosupport its operation. Memory element 8320 may be a random accessmemory, a read only memory, or a combination thereof. Memory element8320 may be configured to store information utilized by modem system8300 in connection with one or more processes related to the presentinvention. For example, memory element 8320 may be configured to store asuitable answer signal point sequence 8338A. Memory 8320 may storespecific signal points, transmit levels, a pattern utilized to format asequence for transmission, or the like. In the preferred embodiment,answer signal point sequence 8338A corresponds to sequence 8330(described above). Memory element 8320 may also be configured to store anumber of parameters related to the training of receiver 8318. Thesereceiver parameters, which are depicted as block 8340, may be associatedwith the initialization of equalizer structure 8317 and/or echo cancelerstructure 8319. As a practical matter, memory element 8320 may storeinformation related to the analog and/or digital characteristics, e.g.,filter tap coefficients, of equalizer structure 8317 and echo cancelerstructure 8319, and transmit codec level estimates.

In accordance with a preferred embodiment of the present invention,memory element 8320 is also capable of storing a number of parameters,attributes, and/or characteristics of a previously established channel(illustrated as a previous channel block 8342). The previous channelparameters 8342 may be stored at any suitable time during acommunication session or periodically updated during a session. Indeed,modem 8302 and modem 8304 may both be configured to save the currentchannel parameters to anticipate a temporary interruption, delay, ordisconnection associated with the current communication session (whethersuch interruption, delay, or disconnection is intentional orunintentional). As described in more detail below, in response to atemporary disconnection or pause in the modem data transmission mode,modem 8302 can be placed “on hold” until the communication session is tobe reinitiated. At that time, modems 8302 and 8304 may access the storedchannel parameters rather than conduct a lengthy retrain procedure.

Modem 8304 includes a receiver 8350, which is operatively associatedwith an equalizer structure 8352 and an echo canceler structure 8354.Receiver 8350 is configured to receive communication signals from modem8302. Modem 8304 also includes a transmitter 8356 configured to transmitcommunication signals to modem 8302. These components of modem 8304 maybe similar to the corresponding components of modem 8302. Thus, for thesake of brevity, the description of features and functions that arecommon to modems 8302 and 8304 will not be repeated in this descriptionof modem 8304.

Processor 8314 may be operatively associated with a quick connectconfirmation routine 8358, one or more training routines 8360, and adial-up authentication scheme 8362. These processing functions aresimilar to the corresponding functions described above in connectionwith processor 8312. In addition to these features, processor 8314 maybe operatively associated with a digital impairment learning routine8364. Digital impairment learning routine 8364 may be compatible withthe digital impairment learning procedure carried out by conventionalV.90 modems. Routine 8364 may be utilized to enable modem 8304 toanalyze a digital impairment learning sequence transmitted by modem 8302and to determine the types of digital impairments present in thecommunication channel and any timing phases associated with such digitalimpairments. Routine 8364 may interact with a memory element 8366 suchthat modem 8304 can store the digital impairment profile associated witha given communication channel. Routine 8364 may enable modem 8304 toselect appropriate signal points (or a signal point) that function toilluminate or highlight robbed bit signaling present in the channel. Forexample, if modem 8304 determines that the network forces robbed bits(typically the least significant bit of a symbol) to zeros, then asignal point having a least significant bit of one may be selected suchthat the robbed bit signaling phases can be easily detected.

Processor 8314 may also be configured to conduct a channel comparisonroutine 8368, which may be performed during task 7210 described above inconnection with FIG. 7. Channel comparison routine 8368 preferablydetermines whether the characteristics of the current communicationchannel are similar to stored characteristics associated with apreviously established communication channel. In the context of thisdescription, the current channel is a repeated connection of thepreviously established channel, and a number of stored characteristicsmay be resident in memory element 8366. Routine 8368 is described inmore detail below.

As with processor 8312, the illustrative operations set forth herein arenot intended to limit the applicability of processing element 8314,which is preferably configured to support any number of additionaloperations.

Like modem 8302, modem 8304 is configured to generate, process, andtransmit different data and signals associated with the operation ofmodem system 8300. Such data, signals, and sequences may be suitablystored, formatted, and produced by any number ofmicroprocessor-controlled components. Although a practical system mayprocess and transmit any amount of additional or alternative data,transmitter section 8356 is illustrated in conjunction with thefollowing types of data: a quick connect identifier 8370, a transitionsequence signal point identifier 8372, training information 8374,authentication information 8376, and user data 8378. This data, and thehandling of the data by modem system 8300, is described in detail below.

As mentioned above, modem 8304 includes a suitable amount of memory 8366necessary to support its operation. Memory element 8366 is similar tomemory element 8320. In the preferred embodiment, memory element 8366 isconfigured to store an answer signal point sequence 8380 that is relatedto the corresponding answer signal point sequence 8338A utilized bymodem 8302. In this embodiment, the same answer signal point sequence ispredetermined and known at both modems 8302 and 8304. Memory element8366 may also store a number of parameters, attributes, and/orcharacteristics of a previously established channel (illustrated as aprevious channel block 8382). The previous channel parameters 8382 maybe stored at any suitable time during a communication session orperiodically updated during a session. Like memory element 8320, memoryelement 8366 may also be configured to store a number of parameters 8384related to the training of receiver 8350. These stored receiverparameters 8384 are preferably accessed by modem 8304 to effectivelyreduce the startup latency typically experienced with conventional V.90modem systems.

A number of features of the present invention contribute to thereduction in conventional V.90 modem startup and/or reconnect times,e.g., the elimination or abbreviation of the V.8bis procedure, theelimination or abbreviation of the initial training procedure, and theexchanging of login authentication data earlier in the initializationprocess (rather than waiting until the full data rate is achieved). Inone embodiment, the login authentication data is exchanged while themodem system is in an initially trained mode associated with anintermediate data rate. Any one of these (and other) features of thepresent invention may be implemented in modem system 8300.

FIG. 9 is a flow diagram illustrating portions of a quick startupprocess 9400 performed by two modem devices, and FIG. 10 is a timingdiagram 1500 corresponding to an illustrative quick startup processperformed by two modem devices. Timing diagram 1500 includes acronymsand abbreviations that are often used in the context of V.8, V.8bis,V.34, V.90, and other data communication protocols. The use of suchterminology herein is intended to illustrate the concepts of the presentinvention in the context of one practical embodiment. However, thepresent invention may be employed in any suitable context, and thespecific signals, number of sequences, timing of the sequences, datarates, and interaction between the two modem devices shown in FIG. 10are not intended to limit the scope of the invention in any way.

Quick startup process 9400 is depicted in a manner that indicates tasksassociated with a client modem, e.g., an analog pulse code modulationmodem (“APCM”), and a server modem, e.g., a digital pulse codemodulation modem (“DPCM”). Similarly, timing diagram 1500 shows thegeneral sequencing of signals transmitted by an APCM and a DPCM. In FIG.10, the arrows between the two major sequences represent responses orinteractions between the APCM and the DPCM.

Quick startup process 9400 may begin with a task 9402, which causes theAPCM to dial the telephone number associated with the DPCM. As describedabove, the call will be established over local loop 6112, central office6110, and digital telephone network 6108 (see FIG. 6). In response tothe initial ring tone, the DPCM may be placed in an off hook state (task9404), i.e., the DPCM will answer the call. Of course, the APCM and theDPCM may be configured to place, answer, and process calls in accordancewith conventional telephony protocols. Following task 9404, a task 9406may be performed to initialize a capabilities exchange protocol such asV.8 or V.8bis. In the embodiment described herein, a capabilitiesrequest signal (represented by CRe′ in FIG. 10) may be transmittedduring task 9406. The CRe′ signal may function to inform the APCM thatthe DPCM supports the quick connect procedure. The CRe′ signal may be amodified version of the conventional V.8bis signaling tones, e.g., theV.8bis tones may be amplitude modulated. Alternatively, the frequencyassociated with a signaling tone may be jittered in a periodic manner ora low-level wideband signal may be added to a tone. In this manner,legacy modem systems will recognize the CRe′ signal as the normal V.8bisCRe signal.

In response to the establishment of a call associated with the currentcommunication channel, the APCM may perform a task 9408 to suitablytransmit a quick connect identifier (QC) to the DPCM. In the practicalembodiment described herein, the transmission of the quick connectidentifier may be prompted in response to the detection of the CRe′signal by the APCM. The QC signal is preferably designed such thatlegacy modems and modems that do not support the quick connect protocolare not adversely affected by the QC signal, i.e., the QC signal shouldbe ignored by non-compatible devices. (If the APCM does not support thequick connect techniques described herein, then it will not generate theQC signal and the startup will proceed in a conventional manner, asdescribed above in connection with FIG. 7). In a preferred embodiment,the QC signal also conveys a signal point identifier that identifiessignal points (or one point) for use by the DPCM in a transitionsequence (represented by QTS and QTS in FIG. 10 where the signal pointsfunction to highlight, illuminate, or make apparent the digitalimpairments present in the communication channel. Thus, the QC signalsequence performs a dual function.

Assuming that the DPCM also supports the quick connect methodology, itpreferably performs a task 9410 in response to the reception of the QCsignal. In connection with task 9410, the DPCM transmits a quick connectacknowledgment (represented by the QCA signal in FIG. 10). As describedabove in connection with FIG. 7, if the DPCM does not acknowledge the QCsignal, or if the APCM somehow fails to receive the QCA signal, then themodem system will proceed with a conventional startup procedure. Theformat, configuration, and processing of the QC and QCA signals may becarried out by the respective portions of the individual modems, asdescribed above in connection with modem system 8300 (see FIG. 8).

If the DPCM and the APCM both support the quick connect technique, thenany number of initialization routines may be eliminated, modified, orabbreviated, depending upon the specific application. For example, inthe context of a V.90 compatible modem system, the transmission of theQC signal may inherently indicate that the APCM is V.90 compliant.Similarly, the transmission of the QCA signal may inherently indicatethat the DPCM is also V.90 compliant. Consequently, the modem system mayeliminate portions or the entirety of the normal capabilities exchangeprotocol or protocols, such as V.8 and/or V.8bis. This feature by itselfcan reduce the startup latency by as much as five seconds (for a typicalconnection).

It should be appreciated that the quick connect identification andverification scheme described above in connection with task 9402 throughtask 9410 can be equivalently applied when the DPCM initiates the callto the APCM. Such a situation may arise when, in response to an initialcall or request from the APCM, the DPCM calls the APCM to establish thecommunication channel. In this situation, the APCM will transmit theCRe′ signal, the DPCM will transmit the QC signal, and the APCM willtransmit the QCA signal. In contrast to the above description where theAPCM initiates the call, the APCM may transmit an additional signal orsequence to suitably identify the transition sequence signal points tothe DPCM (rather than embedding the signal points in the CRe′ or QCAsequences).

Following task 9410, the DPCM may perform a task 9412 to obtain thesignal points (or point) for use in a transition (or synchronization)sequence. As discussed above, the QC signal preferably conveysinformation that identifies signal points that make the presence ofrobbed bit signaling easily detectable by the APCM. The determination ofthe particular signal points may be carried out by the APCM, asdescribed above in connection with the digital impairment learningprocedure 8364 (see FIG. 8). This determination may be based on pastanalyses of the digital impairments associated with a previousconnection over the same channel. Task 9412 may be performed byprocessor 8312 after the APCM receives the QC signal.

In response to task 9412, a task 9414 may be performed such that asuitable transition sequence is transmitted by the DPCM. In an exemplaryembodiment, the transition sequence includes positive and negativevalues of the signal points obtained in task 9412. Accordingly, the DPCMmay utilize the signal points selected by the APCM and a suitable signpattern (which may be predetermined) to generate the transitionsequence. The transition sequence is configured and formatted such thatthe APCM, upon detecting the transmission sequence, can synchronizeitself to the subsequent signal or sequence transmitted by the DPCM. Inthis manner, the APCM receiver can obtain its timing from the transitionsequence. The transmission sequence may be of any predetermined lengthand have any predetermined sign pattern. For example, in the embodimentdepicted in FIG. 10, the transition sequence is represented by the quicktiming sequence (QTS) and QTS.backslash. signals, where QTS represents aspecific signal point sequence and QTS.backslash. is the same sequencehaving opposite signs. In FIG. 10, the QTS sequence is repeated for 810symbols while the QTS.backslash. sequence is repeated for 30 symbols.

In accordance with one practical embodiment of the present invention,the QTS sequence is formatted such that the period of the QTS rootsequence and the period of the robbed bit signaling (“RBS”) associatedwith the network connection have no common denominator (other than one).For example, one suitable QTS root sequence is 0, +A, −A, +A, −A (whereA represents a signal point that highlights the presence of RBS. Thus,for the embodiment illustrated in FIG. 10, this QTS root 30 sequence,which has a period of five, is repeated 162 times while theQTS.backslash. sequence includes six repetitions of the root QTSsequence with inverted signs.

For the above example, where the RBS period is assumed to be six, thereceived transition sequence may be subjected to a 30-point discreteFourier transform (“DFT”) to obtain the timing phase of the DPCM. Inaddition, the presence of RBS will be revealed at certain discretefrequencies associated with the DFT result. In this manner, timing andRBS information can be extracted from the received transition sequence.In addition, the timing phase information is obtained independently fromthe RBS information.

The DPCM is preferably configured to transmit a specific signal pointsequence during a task 9416. The signal point sequence may be consideredto be a modified answer tone, as that term is understood by thosefamiliar with modem protocols. In FIG. 10, this signal point sequence isrepresented by the ANSpcm signal. As depicted in FIG. 8, a predeterminedANSpcm sequence 8338A may be stored in memory element 8320 fortransmission by transmitter section 8316. In a practical embodiment, theDPCM transmits the ANSpcm signal following the transition sequence. Thismay be desirable to enable the APCM to anticipate the signal pointsequence once it detects the transition sequence. In other words, thedetection of the transition sequence by the APCM will indicate that thesignal point sequence will follow.

In a preferred embodiment, the ANSpcm signal comprises a sequence ofpulse code modulation signal points or a sequence of signal pointsassociated with pulse code modulation signal points. For example, theANSpcm signal may be formatted as a sequence of mu-law or A-lawcodewords or a sequence of universal codewords (U-codes). The APCM andthe DPCM are preferably configured such that the ANSpcm signal ispredetermined and known prior to the initiation of quick startup process9400. In an alternate embodiment, a number of different ANSpcm signalsmay be suitably stored in lookup tables or the ANSpcm signal may bedesigned by one of the modem devices and communicated in a suitablemanner to the other modem device prior to task 9416. For example, theANSpcm signal may be designed such that the presence of RBS can beeasily detected by the APCM by analyzing the received ANSpcm signal. Insuch an embodiment, it may not be necessary for the transition sequence(QTS and QTS) to identify or highlight the RBS.

In the context of V.8, the answer tone is generated as an amplitudemodulated 2100 Hz tone. In contrast, the present invention utilizes theANSpcm signal to generate a tone (e.g., a 2100 Hz tone) in a digitalmanner using pulse code modulation signal points. In other words, theANSpcm signal is a digital representation of an analog signal. TheANSpcm signal is preferably constructed with known pulse code modulationpoints such that the ANSpcm signal may be used for purposes other than amere answer tone. In a preferred embodiment, the ANSpcm signal includesmany of the available pulse code modulation points associated with theparticular telephone network. This aspect of the ANSpcm signal isdesirable such that the ANSpcm signal may be used to determine oridentify the characteristics of the current communication channel,particularly digital pads. The use of a large number of the possiblecodewords ensures that the ANSpcm signal will detect digital pads thatmay merge two input levels into one output level. The ANSpcm signal isalso configured to provide a tone suitable for disabling the networkecho cancelers and disabling the network echo suppressors.

As described above, the APCM anticipates the transmission of the ANSpcmsignal. The digital impairments and analog characteristics associatedwith the communication channel will affect the ANSpcm signal as it istransmitted from the DPCM to the APCM. A task 9418 may be performed bythe APCM to obtain a received sequence that is related to the ANSpcmsignal point sequence. The APCM may then perform a task 9420 to comparea number of attributes of the received sequence with a number of storedattributes of a previously received sequence associated with apreviously established communication channel. In an illustrativeembodiment, the previously received sequence is a digital impairmentlearning (“DIL”) sequence, which is a line probing sequence. In thisrespect, task 9420 determines whether a characteristic of the currentchannel is similar to a corresponding characteristic of a previouslyestablished channel. In a preferred embodiment, the channelcharacteristics compared in task 9420 are related to the digitalimpairments in the channel. In other words, task 9420 validates acurrent digital impairment channel profile with a stored digitalimpairment channel profile. Task 9420 may be performed by a suitableprocessor element of the APCM (see FIG. 8).

During task 9420, any measurable characteristic of the points/levels,any measurable characteristic of the received sequence as a whole,and/or any measurable signal or quantity associated with thepoints/levels may be analyzed by the APCM. For example, any number ofindividual points or levels contained in the received sequence may becompared to corresponding points or levels stored at APCM (the storedpoints or levels may be associated with a prior DIL procedure). If thereceived points/levels “match” the stored points/levels or if thedifferences between the received and stored points/levels are within acertain threshold, then the APCM may assume that the current channelattributes match the stored channel attributes (see query task 7210 inFIG. 7).

The APCM may perform a procedure 9421 to suitably obtain and save anumber of attributes or characteristics of a previously establishedconnection to the current channel. As described above, procedure 9421may cause the APCM to store the characteristics of the points/levelscontained in a received DIL sequence. These past values are thereafterused during task 9420. In this respect, procedure 9421 may update theprevious values with new DIL values after the comparison in task 9420 iscompleted, e.g., in response to a subsequent DIL procedure associatedwith the current connection.

As described above in connection with FIG. 7, if task 9420 determinesthat the channel characteristics do not sufficiently match, then themodem system may revert to a conventional V.90 startup procedure. FIG.10 illustrates that the APCM may fall back into the V.8 protocol andtransmit a conventional V.8 call menu (CM) message to the DPCM. Theconventional V.8 startup for the APCM then follows along a sequence1502. In response to the CM message, the DPCM generates a conventionalV.8 joint menu (CM) message and proceeds in accordance with theconventional V.8 initialization (indicated by a sequence 1504). For thesake of illustration, quick startup process 9400 assumes that task 9420determines that the current communication channel is similar to apreviously established communication channel.

If the APCM validates the current channel characteristics with aprevious channel, then it may trigger a quick startup routine to furtherreduce the initialization time associated with the modem system.Alternatively, the DPCM may be configured to trigger the quick startuproutine. Accordingly, a task 9422 may be performed, during which themodem system is initially trained. (For the sake of clarity and brevity,portions of task 9422 and portions of the subsequent tasks may beperformed by both the APCM and the DPCM; quick startup process 9400depicts such combined functionality in the context of single processtasks). Task 9422 may cause the APCM and the DPCM to be initialized inresponse to a number of stored parameters associated with the previouslyestablished communication channel. As mentioned above, the storedparameters may be related to the initialization or training of theequalizers, echo cancelers, transmit power levels, initial signal pointconstellations, or the like. Task 9422 may operate in conjunction withprocedure 9421, which preferably functions to obtain and store theinitialization parameters associated with the previous connection. Inthis respect, procedure 9421 may be suitably designed to periodicallysave such parameters during the normal data mode of the previousconnection, after a renegotiation process, or in response to anycondition or event associated with the previous communication session.Procedure 9421 may also be configured such that erroneous settings orinitialization parameters are not inadvertently saved.

In the context of a typical V.90 connection, task 9422 may be related toa two-point training phase. Using the previous parameters, the modemsystem may be able to skip or abbreviate the conventional V.90 Phase 2probing and ranging procedure and to skip or abbreviate the conventionalV.90 Phase 3 digital impairment learning and initial trainingprocedures. As shown in FIG. 10, the APCM and the DPCM may each transmittraining sequences (represented by the TRN1 signals) during task 9422.These training signals may be utilized to adaptively adjust theequalizer and echo canceler filter taps and to otherwise facilitatetraining of the modem system. Thus, one of the most time consumingprocedures of a V.90 startup (the training of the APCM equalizer) can beperformed in an efficient manner that allows ample time for fine tuningand training.

In addition to the initial training that occurs during task 9422, a task9424 may be performed. During task 9424, the modem system may conducterror correction and/or data compression protocols. In a conventionalV.90 modem system, the V.42 Recommendation is followed for purposes oferror correction and the V.42bis Recommendation is followed for purposesof data compression. For example, in a normal V.90 operating modeassociated with a PPP connection, the V.42 and V.42bis procedures areperformed after final training and before the CHAP/PAP authenticationprocedure. V.42 and V.42bis are performed prior to the CHAP/PAPprocedure because the CHAP/PAP procedure is better suited to an “errorfree” channel. In contrast to conventional V.90 systems, task 9424 mayperform V.42bis during Phase 3 of the V.90 startup. The shifting ofV.42bis forward in the startup process contributes to the reduction inconnection time. In FIG. 10, the XID′ signal represents a modifiedversion of the conventional V.42 XID signal. For example, the XID′signal may utilize a subset of the XID parameters used to negotiatecompression and the like. Portions of the V.42bis procedure may also beconducted in connection with various modified signal sequences shown inFIG. 10. For example, the CPt′ signal may represent the conventionalV.90 CPt signal combined with one or more V.42bis signals.

In the preferred embodiment, the V.42bis procedures are performed toprovide a substantially “error free” channel. Following task 9424, aCONNECT message is issued to the host software (task 9426). The CONNECTmessage indicates that the modem system is ready to transmit data at aninitial data rate at this time. The CONNECT message may be formatted,generated, and transmitted in accordance with known techniques.

In response to the CONNECT message, the host software begins a“simultaneous” upper layer protocol login procedure, e.g., a CHAP or PAPprocedure (task 9428). Task 9428 may be initiated automatically by thehost software or in response to a user entry. The CHAP/PAP datatransmission occurs in conjunction with a final training process. In thepreferred embodiment, the APCM and the DPCM transmit the CHAP/PAPauthentication data as scrambled digital data over the communicationchannel. The scrambling of the authentication data enables the modemdevices to perform final training on the authentication data. In aconventional V.90 modem system, the final training signals are formattedas scrambled “ones”. The scrambled ones carry no information; the finaltraining signal is merely utilized as a spectrally white source. Thepresent invention leverages the final training signals to carry userdata while the modem devices complete the training process. AlthoughCHAP/PAP data is one preferred form of user data, the present inventionis not limited to the transmission or exchange of authentication data.In addition, the particular scrambling algorithm may vary fromapplication to application.

In FIG. 10, the dual function signals are represented by the TRN2A/PPPand TRN2D/PPP signals. In this respect, the receiver sections in themodem devices may be trained at an initial data rate during a first timeperiod, e.g., during a data phase one, such that they may seamlesslytransfer to operating at a final data rate during a subsequent timeperiod, e.g., during a data phase two. Furthermore, the PPP log-inprocedure can be performed at the initial data rate during the firsttime period rather than after the modem system has been fullyinitialized.

During the initial data rate period, a task 9430 may be performed toenable the APCM and the DPCM to exchange constellation parameters andmodulation parameters (represented by the CP and MP signals in FIG. 10)in a suitable manner. Task 9430 may be performed in a conventional V.90manner. These parameters may be utilized by the modem devices during thesubsequent data mode. After the training and authentication proceduresare completed, the modem system preferably transitions to a full datarate in a seamless manner. A task 9432 may be performed to conduct datatransmission at the full data rate. This period may be referred to asthe data phase two. Once the modem system enters the full data mode,quick startup process 9400 ends.

In contrast to the conventional V.90 modem startup summarized in Table1, a modem system according to the present invention may experience areduced startup latency, as set forth in Table 2 below. Notably, thestartup time summarized in Table 2 is approximately half of the startuptime summarized in Table 1. The considerable reduction in startuplatency would be desirable in many situations, particularly in thecontext of a PPP dial-up internet connection using V.90 or legacy 56kbps modem systems.

TABLE 2 Quick V.90 Modem Startup PROTOCOL OPERATION TIME (seconds) —Dialing 1 — Call Establishment 1 V.8bis Capabilities Exchange 1(abbreviated) — Modified Answer Tone 1 V.90 Phase 3 + V.42/ Initial APCMTraining; 2.5 V.42bis Error Correction; Data Compression V.90 Phase 4 +Login Final APCM Training; 2-5 Set Power Levels; ConstellationTransmission; Username & Password TOTAL =  8.5-11.5

The techniques of the present invention may be implemented in othercontexts to reduce the reinitialization time associated with reconnectsafter a line corrupting event or a channel interruption. For example,many telephone customers subscribe to call waiting, calleridentification, and other telephony services. However, such services maybe disabled or nonfunctional if the telephone line is being utilized fora modem connection. If call waiting is not disabled during a modemconnection, then the signal tones may interrupt the modem connection. Ifthe user decides to answer the waiting line, then the off-hook andon-hook flash may cause the modem system to retrain its receivers orprompt a full reconnect procedure.

Rather than perform a time consuming reconnect or retrain procedure, amodem system may be configured to utilize stored analog and digitalimpairment information, equalizer settings, power levels, echo cancelersettings, constellations, and the like. Such stored information can beused to immediately reset the modem system parameters if the channelconnection is interrupted by a call waiting procedure, by an off-hookcondition at an extension telephone device, by a caller identificationrequest, or by any channel corruption event, whether such event isplanned or unintentional. In this scenario, both the client modem andthe server modem may store the relevant system attributes, modemoperating parameters, channel characteristics, and/or networkcharacteristics.

In one practical example, in response to a call waiting tone, the clientmodem may signal the server to enter a standby mode. The server modemcan then switch into an FSK mode to suitably detect the Class 2 calleridentification information while the server idles. If the user wants toanswer the second call, then the client modem may periodically transmitstandby signals or heartbeat tones to the server to instruct the serverto continue holding. When the second call ends and the user desires tocommence the data call, the client modem would commence a quickreconnect handshaking protocol (described below). On the other hand, ifthe user wants to terminate the first call, then a clear down messagemay be sent (alternatively, the periodic hold signal may end).

The quick reconnect handshake causes the modem devices to recall thesaved parameters and attributes of the “held” channel and the savedoperating parameters associated with the modem devices, as describedbriefly above in connection with previous channel parameters 8342 and8382. With this technique, the modem system can be reconnected in amatter of seconds. Thus, the data mode user will not suffer the longreconnect penalty after handling an incoming call waiting or calleridentification signal. The data mode user, using call waiting in thisfashion, would be capable of accepting intermittent interruptionswithout noticeable delays associated with the modem connection.

This feature may be utilized to simulate an “always connected” mode withconventional PPP modem connections. For example, pertinent channelcompensation information may be periodically saved for a givenconnection between a client modem and a server modem. The client usermay answer incoming second line calls while pausing the data mode asdescribed above. In addition, the data mode may be gracefully terminatedif the client user initiates an outgoing voice call. After the voicecall terminates, the client modem may re-dial or otherwise re-contactthe server modem and establish a quick connection using the storedparameters.

FIG. 12 is a flow diagram illustrating portions of a quick reconnectprocess 3700 performed by two modem devices, and FIG. 11 is a timingdiagram 2600 corresponding to an illustrative quick reconnect processperformed by two modem devices. Timing diagram 2600 may include acronymsand abbreviations that are often used in the context of conventionaldata communication protocols. The use of such terminology herein isintended to illustrate the concepts of the present invention in thecontext of one practical embodiment. However, the present invention maybe employed in any suitable context, and the specific signals, number ofsequences, timing of the sequences, data rates, and interaction betweenthe two modem devices shown in FIG. 11 are not intended to limit thescope of the invention in any way.

Quick reconnect process 3700 may be performed by a modem system aftersuch modem system has established a communication session and,typically, after the modem system has entered a full-rate data mode. Forpurposes of this description, it may be assumed that the modem system isconfigured as described above (or is configured in an appropriate mannerto support the various process tasks described below). It may be assumedthat the two modem devices that perform process 3700 are compatible withthe quick reconnect techniques described herein. Thus, process 3700 neednot perform any verification or signaling to determine whether the quickreconnect procedure can be carried out.

Although not a requirement of quick reconnect process 3700, the modemsystem may have been initialized in accordance with the quick startuptechniques set forth above. Accordingly, process 3700 assumes that bothmodem devices have stored any number of appropriate channelcharacteristics, receiver parameters, and other information relevant tothe initialization, training, and synchronization of the modem system.As described above, such information may be suitably saved during astartup procedure or periodically during a suitable data mode. Process3700 may be utilized to enable the current modem connection to bequickly re-established following a temporary pause in the modem datamode or any interrupting event. In this context, a practical system canmaintain a communication link or connection between the modem deviceswhile allowing a user of the client modem device to temporarily pausethe modem connection (or the modem data communication mode). During thetemporary holding period, the user may be able to answer anotherincoming call in response to a call waiting signal, initiate a newoutgoing call, or the like, while the client side modem device idles.

Quick reconnect process 3700 may begin with a task 3702, during which areconnect indication is received by the DPCM (e.g., modem 8302 shown inFIG. 8). The reconnect indication may be generated in response to arequest (e.g., a user-initiated request) to terminate a temporary pausein the modem communication session. For example, a suitable reconnectsignal may be generated by the APCM (e.g., modem 8304) in response to ahook flash initiated by the user of the APCM or in response to aninstruction generated by application software associated with the APCM.Alternatively, the APCM or a data access arrangement (DAA) associatedwith the APCM may generate a reconnect signal in response to a change inline current related to the on-hook status of telephone set. Suchline-in-use detection techniques are generally known to those skilled inthe art. The reconnect indication informs the DPCM that the user desiresto re-establish the current modem connection, which has been placed ontemporary hold. In a practical embodiment, the DPCM receives thereconnect indication and initiates a task 3704 in response to thereconnect indication.

During task 3704, the DPCM transmits a suitable reply signal thatpreferably informs the APCM that the quick reconnect procedure issupported. In the illustrative embodiment described herein, such a replysignal may include a suitable transition sequence as described above.Accordingly, quick reconnect process may perform a task 3704, which maybe similar to task 9414 described above in connection with FIG. 9. Forexample, task 3704 may cause the DPCM to transmit the QTS signal toenable the APCM to again determine the timing phase of the DPCM (the QTSsignal is identified by reference number 2602 in FIG. 11). In addition,the retransmission of the QTS signal enables the APCM to obtain RBScharacteristics of the data communication network (if necessary ordesirable to do so).

It should be noted that, for many practical modem connections, thenetwork connection (and the associated effects of digital pads and RBS)will remain consistent during the modem hold period. Of course, theremay be some situations where the network connection is cleared downduring the modem hold period to conserve network resources. In suchsituations, particularly if the same network connection is notre-established, the digital impairment profile of the network may notremain consistent. Furthermore, even if the network characteristics donot change, the APCM may lose its RBS synchronization if the modemconnection is put on hold (particularly if the APCM does not receive asignal from the DPCM during the holding period). In this respect, evenif the APCM can properly resynchronize itself to the network clock aftera holding period, the specific RBS phases may still be unknown.Accordingly, quick reconnect process 3700 is preferably arranged tocontemplate that the network connection and the RBS timing has changed.

The reply signal may also include a suitable signal point sequence thatfollows the transition sequence. Accordingly, following task 3704, theDPCM may perform a task 3706 to suitably transmit a signal pointsequence to the APCM. As described above in connection with task 9416,the signal point sequence may be considered to be a modified answertone, e.g., the ANSpcm signal (identified by reference number 2604 inFIG. 11). The ANSpcm signal 2604 may be configured as described above,e.g., the ANSpcm signal 2604 may be suitably formatted to enable theAPCM to determine or identify the characteristics of the currentcommunication channel or network, particularly digital pads and/or otherdigital impairments. The ANSpcm signal 2604 is also configured toprovide a tone suitable for disabling the network echo cancelers anddisabling the network echo suppressors.

In a practical embodiment, the APCM anticipates the transmission of theANSpcm signal 2604. For example, the APCM may be configured to conditionits receiver to receive the ANSpcm signal 2604 after it transmits thereconnect indication to the DPCM. Accordingly, quick reconnect process3700 may include a query task 3708, which preferably determines whetherthe ANSpcm signal 2604 has been received by the APCM and/or whether theDPCM receives a suitable acknowledgment that the APCM received theANSpcm signal 2604. If not, then process 3700 may exit and the modemsystem may proceed with a traditional reconnection routine. If querytask 3708 determines that the ANSpcm signal 3706 was properly received,then the APCM may process the received signal as described above toenable the APCM to determine the digital impairments associated with there-established channel.

A task 3710 is preferably performed to cause both modem devices torecall and obtain the characteristics and parameters associated with theprevious channel connection, i.e., the channel before the modemconnection was placed on temporary hold. Task 3710 may cause the DPCM toaccess previous channel information 8342 and may cause the APCM toaccess previous channel information 8384. As described above, thisinformation may include one or more parameters related to: the currentchannel conditions (as previously determined), any number of settingsassociated with the modem receivers, characteristics of thecommunication network, or the like. Task 3710 enables the modem systemto quickly retrieve these stored parameters and reset the modem devicesin an appropriate mariner in lieu of an independent reassessment of thechannel and in lieu of a full retraining process. Task 3710 may beperformed by the DPCM once it receives the reconnect identifier from theAPCM, while task 3710 may be performed by the APCM before it receivesthe ANSpcm signal 2604. If task 3710 is performed by the ACPM, the APCMequalizers are initialized according to the previous channel information8384 such that the ANSpcm signal 2604 can be properly received andanalyzed.

The DPCM may reacquire its timing synchronization in accordance with anynumber of techniques, such as the conventional V.34 half-duplex primarychannel resynchronization procedure set forth in ITU-T RecommendationV.34 (International Telecommunication Union, September 1994), which isincorporated by reference herein. In other words, as shown in FIG. 11,the APCM may be configured to transmit a PP signal 2610 to enable theDPCM receiver to synchronize its timing recovery and carrier recovery.The S and S.backslash. preamble signals (reference numbers 2606 and2608, respectively) may be used to initialize an automatic gain controlelement or the like. The B1 signal 2612 may be considered to be apreamble sequence that may be employed to initialize the DPCM scrambler,trellis coder, and the like. These signals and sequences are set forthin detail in the V.34 Recommendation and will not be described in detailherein.

Concurrently, the DPCM may transmit an R signal 2616 followed by anR.backslash. signal 2618 and a B1 signal 2620. These sequences alsoserve as suitable preamble sequences that enable the APCM to prepare forthe data mode. These signals and sequences are set forth in detail inthe V.90 Recommendation and will not be described in detail herein.

In response to the resynchronization sequences, the modem system entersthe data mode and the system can begin transmitting data at the fulldata rate (task 3712). In other words, the data transmission mode isre-established without completely clearing down the previous connection.The data mode is identified by sequences 2614 and 2620 in FIG. 11.Notably, in contrast to quick startup process 9400, quick reconnectprocess 3700 need not perform a comparison of the channelcharacteristics (see task 9420), an initial training procedure (see task9422), an error correction and data compression procedure (see task9424), a final training procedure (see task 9428), an authenticationexchange (see task 9428), or an exchange of constellation and modemparameters (see task 9430). With respect to the PAP/CHAP authenticationinformation, the modem system may be suitably configured to maintain thePPP/TCP/IP protocol layer during the hold period such that the PPPauthentication data need not be retransmitted. Accordingly, the modemsystem may re-establish its modem connection without wasting timeperforming several traditional initialization tasks. In a typicalpractical system, the quick reconnect process can be employed toreestablish the data mode in less than 1.5 seconds.

An alternate version of the quick reconnect procedure may employ atiming diagram similar to timing diagram 1500 (see FIG. 10). However, insuch an embodiment, several of the signal segments described above inconnection with timing diagram 1500 can be reduced in length, thusreducing the conventional reconnect time. For example, the various TRNtraining sequences and the parameter exchange signals may be shortenedconsiderably because they need not convey essential information. Forpractical implementation reasons, it may be desirable to keep thegeneral sequence structure intact in this manner (instead of eliminatingsegments from timing diagram 1500). Indeed, from a softwareimplementation standpoint, segment lengths can be adjusted in arelatively straightforward manner, while the removal of entire segmentsfrom an existing protocol may be a time consuming and arduous task.Although the reconnect time for such an alternate embodiment may belonger than that described above in connection with timing diagram 2600(e.g., up to 2.5 seconds), it is still significantly less than the timerequired to perform a conventional reinitialization procedure.

In summary, the present invention provides techniques to reduce theinitialization period and reconnect period normally associated with aV.90 modem system. The quick startup and quick reconnect techniquesleverage the known channel characteristics of a previous connection toreduce the training time associated with subsequent attempts toestablish the same connection. Although not limited to any specificmodem application, the quick startup procedure may be used to eliminateportions of the initialization protocols or processes normally employedby a 56 kbps modem, e.g., V.8bis, V.8, digital impairment learning,initial training, probing and ranging, or the like. In addition, thequick startup technique may perform certain operations at a differenttime or in a different order in comparison to a conventional modemstartup technique.

The present invention has been described above with reference to apreferred embodiment. However, those skilled in the art will recognizethat changes and modifications may be made to the preferred embodimentwithout departing from the scope of the present invention. These andother changes or modifications are intended to be included within thescope of the present invention, as expressed in the following claims.

Although a system and method according to the present invention has beendescribed in connection with the preferred embodiment, it is notintended to be limited to the specific form set forth herein, but on thecontrary, it is intended to cover such alternatives, modifications, andequivalents, as can be reasonably included within the spirit and scopeof the invention as defined by the appended claims.

1. A method of reducing time for use by a first modem to connect to asecond modem via a communication channel, said first modem being incommunication with a handset, said method comprising: receiving a firstdigital impairment learning sequence from said second modem over saidcommunication channel; determining first one or more digital impairmentattributes of said communication channel based on analyzing said firstdigital impairment learning sequence; interrupting said communicationchannel; terminating said interrupting; receiving a signal pointsequence from said second modem; determining second one or more digitalimpairment attributes of said communication channel based on analyzingsaid signal point sequence; initializing said first modem with said oneor more parameters to reconnect to said second modem if said first oneor more digital impairment attributes are similar to corresponding saidsecond one or more digital impairment attributes; wherein said firstmodem comprises, an off-hook detector capable of detecting said handsetgoing off-hook, while said first modem is in communication with saidsecond modem, and further being capable of generating an attentionsignal in response thereto; and a transmitter capable of transmitting ahold request to said second modem in response to said attention signal;wherein said handset is placed off-hook by a user for dialing anoutgoing call, and wherein said communication between said modems oversaid communication channel ceases for a period of time aftertransmitting said hold request, and wherein said first modem keeps anupper layer protocol alive during said period of time.
 2. The method ofclaim 1, wherein said hold request includes said period of time.
 3. Themethod of claim 1, wherein said hold request is transmitted using asecondary channel.
 4. The method of claim 1, wherein said first modemreceives an acknowledgement in response to said hold request.
 5. Themethod of claim 1, wherein a modem signal used for data communicationbetween said first modem and said second modem is interrupted after saidtransmitter transmits said hold request to said second modem.
 6. Themethod of claim 1, wherein said signal point sequence is a modifiedanswer tone.
 7. The method of claim 6, wherein said modified answer toneis an ANSpcm signal.
 8. The method of claim 1, further comprising:obtaining one or more parameters for initializing said first modem forconnection over said communication channel; storing said one or moreparameters at said first modem; wherein said terminating saidinterrupting comprises transmitting a reconnect indication after saidinterrupting and wherein said signal point sequence is received fromsaid second modem in response to said reconnect indication.
 9. Themethod according to claim 1, wherein said interrupting disconnects saidfirst modem from said second modem.
 10. The method according to claim 9,wherein said terminating includes dialing a phone number associated withsaid second modem.
 11. The method according to claim 1, wherein saidinterrupting places communication between said first modem and secondmodem on hold.
 12. The method according to claim 11, wherein saidterminating is performed without dialing a phone number associated withsaid second modem.
 13. The method according to claim 1, wherein said oneor more of parameters comprise data associated with equalizer settingsfor said first modem.
 14. A communication method of reducing time foruse between a first modem and a second modem in communication over acommunication channel, said first modem being in communication with ahandset, said communication method comprising the steps of: configuringa quick reconnect sequence comprising: receiving a first digitalimpairment learning sequence from said second modem over saidcommunication channel; determining first one or more digital impairmentattributes of said communication channel based on analyzing said firstdigital impairment learning sequence; interrupting said communicationchannel; terminating said interrupting; receiving a signal pointsequence from said second modem; determining second one or more digitalimpairment attributes of said communication channel based on analyzingsaid signal point sequence; initializing said first modem with said oneor more parameters to reconnect to said second modem if said first oneor more digital impairment attributes are similar to corresponding saidsecond one or more digital impairment attributes; configuring a modem onhold sequence comprising: detecting said handset going off-hook;transmitting a hold request to said second modem in response to saidhandset going off-hook; ceasing said communication with said secondmodem over said communication channel by said first modem for a periodof time; causing a dial tone to be generated for dialing an outgoingcall using said handset; and keeping an upper layer protocol aliveduring said period of time.
 15. The communication method of claim 14,wherein said hold request includes said period of time.
 16. Thecommunication method of claim 14, wherein said transmitting step uses asecondary channel for transmitting said hold request.
 17. Thecommunication method of claim 14, further comprising the step ofreceiving an acknowledgement in response to said hold request.
 18. Thecommunication method of claim 14, wherein a modem signal used for datacommunication between said first modem and said second modem isinterrupted after said transmitting step.
 19. The communication methodaccording to claim 14, wherein said signal point sequence is an ANSpcmsignal.
 20. The communication method according to claim 19, furthercomprising a step of receiving a reply signal prior to said receivingsaid ANSpcm signal, wherein said reply signal comprising a transitionsequence configured to enable said first modem to determined robbed bitsignaling characteristics of said communication channel.
 21. Thecommunication method according to claim 20, wherein said transitionsequence comprises positive and negative value of at least one signalpoint.
 22. A first modem capable of communicating with a second modemover a communication channel, a portion of said communication channelexisting over a telephone line between said first modem and a centraloffice, said first modem comprising: a receiver capable of receiving arelinquishment request, while said telephone line is in use by saidfirst modem for communication w a transmitter capable of transmitting ahold request to said second modem to place said communication betweensaid modems on hold; wherein said communication between said modems isplaced on hold and said use of said telephone line is relinquished, andwherein said first modem causes a dial tone to be generated over saidtelephone line after said communication between said modems is placed onhold, and wherein said first modem keeps an upper layer protocol alivewhile said modems are on hold; a memory element configured to storefirst one or more digital impairment attributes of said communicationchannel and further store one or more parameters for initializing saidfirst modem for connection over said communication channel; a receiversection configured to receive a first digital impairment learningsequence from said second modem, and further receive a reply signal fromsaid second modem over said communication channel in response to arequest transmitted by said first modem over said communication channelto terminate a temporary interruption in said communication channel; anda processor element configured to analyze said first digital impairmentlearning sequence to determine said first one or more digital impairmentattributes of said communication channel and store said one or moredigital impairment attributes in said memory, and to initialize saidfirst modem with said one or more parameters in response to said replysignal if said processor determines that second one or more digitalimpairment attributes of said communication channel based on analyzingsaid reply signal are similar to said first one or more digitalimpairment attributes.
 23. The first modem of claim 22, wherein ahandset shares said telephone line with said first modem, and whereinsaid relinquishment request is received as a result of said handsetgoing off-hook.
 24. The first modem of claim 22, wherein saidrelinquishment request is received as a result of instructing said firstmodem to dial a number.
 25. The first modem of claim 22, wherein a thirddevice shares said telephone line with said first modem, and whereinsaid relinquishment request is received from said third device.
 26. Thefirst modem of claim 25, wherein said third device places a call on saidtelephone line.
 27. The first modem of claim 22, wherein said dial toneis received as a result of using a three-way call feature supported bysaid central office.
 28. The first modem of claim 22, wherein said replysignal is an ANSpcm signal.
 29. The first modem according to claim 22,wherein said first modem is compatible with ITU-T Recommendation V.90.30. The first modem according to claim 22, wherein said one or more ofparameters comprise data associated with equalizer settings for saidfirst modem.